package com.bkgy.modular.tbpaopianpdodata.dao;

import com.bkgy.modular.tbpaopianpdodata.entity.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 连退跑偏历史记录dao接口
 *
 * @author 生成器生成
 * @date 2022-08-03 17:10:29
 */
@Mapper
public interface TbPaopianPdoDataDao {

    /**
     * 添加记录
     *
     * @param tbPaopianPdoData 对象实体
     */
    void insertDataTbPaopianPdoData(TbPaopianPdoData tbPaopianPdoData);

    /**
     * 根据主键删除对象
     *
     * @param indocno 对象主键
     */
    void deleteDataTbPaopianPdoDataOne(@Param("indocno") Long indocno);

    /**
     * 删除多个对象
     *
     * @param value sql语句
     */
    void deleteDataTbPaopianPdoDataMany(String value);

    /**
     * 修改记录
     *
     * @param tbPaopianPdoData 对象实体
     */
    void updateDataTbPaopianPdoData(TbPaopianPdoData tbPaopianPdoData);


    /**
     * 分页查看查看记录
     *
     * @param pageIndex 第几页
     * @param pageSize  每页总数
     * @return 对象数据集合
     */
    List<TbPaopianPdoData> findDataTbPaopianPdoDataByPage(@Param("pageIndex") Integer pageIndex, @Param("pageSize") Integer pageSize, @Param("dbegin") String dbegin, @Param("dend") String dend, @Param("entid") String entid, @Param("extid") String extid, @Param("steel_grade") String steel_grade, @Param("grade_code") String grade_code, @Param("width_code") String width_code, @Param("thick_code") String thick_code,@Param("shift_crew") String shift_crew,@Param("shift_no") String shift_no);

    List<TbPaopianPdoData> findDataTbPaopianPdoDataNoPage(@Param("dbegin") String dbegin, @Param("dend") String dend, @Param("entid") String entid, @Param("extid") String extid, @Param("steel_grade") String steel_grade, @Param("grade_code") String grade_code, @Param("width_code") String width_code, @Param("thick_code") String thick_code);

    /**
     * 根据条件查看记录的总数
     *
     * @return 对象数据集合
     */
    Integer findDataTbPaopianPdoDataByPageSize(@Param("dbegin") String dbegin, @Param("dend") String dend, @Param("entid") String entid, @Param("extid") String extid, @Param("steel_grade") String steel_grade, @Param("grade_code") String grade_code, @Param("width_code") String width_code, @Param("thick_code") String thick_code,@Param("shift_crew") String shift_crew,@Param("shift_no") String shift_no);

    /***
     * 根据主键查询信息
     * @param indocno 用户id
     * @return
     */
    TbPaopianPdoData findDataTbPaopianPdoDataByIndocno(@Param("indocno") Long indocno);

    /**
     * 查看记录
     *
     * @return 对象数据集合
     */
    List<TbPaopianPdoData> findDataTbPaopianPdoData();

    List<paopian_higheststeelgrade> findHighestSteelGradeByDate(@Param("condition") TbPaopianPdoDataByDate condition);

    List<paopian_higheststeelgrade> findHighestSpecificationsByDate(@Param("condition") TbPaopianPdoDataByDate condition);



    List<cal_thk_wid_2130> findDataTbPaopianPdoData_wid();

    List<cal_thk_wid_2130> findDataTbPaopianPdoData_thk();

    List<cal_thk_wid_2130> findDataTbPaopianPdoData_yp();

    List<cal_thk_wid_2130> findDatacal();

    /**
     * 连退跑偏归档统计分析查询
     */
    List<paopian_lx> findlx(@Param("condition") Object condition);

    /**
     * 标准差查询
     */
    TbPaopianPdoData_stddev findDataStddevNoPage(@Param("dbegin") String dbegin, @Param("dend") String dend, @Param("entid") String entid, @Param("steel_grade") String steel_grade, @Param("grade_code") String grade_code, @Param("width_code") String width_code, @Param("thick_code") String thick_code);

    TbPaopianPdoAvgStd findAvgStd(@Param("dbegin") String dbegin, @Param("dend") String dend);

    List<TbPaopianPdoAllData> findAllData(@Param("dbegin") String dbegin, @Param("dend") String dend);

    /**
     * 批量更新归一化数据
     * @param okEntid 归一化成功的入口卷号列表
     * @return 更新成功的条数
     */
    int updateBatchById(@Param("list") List<String> okEntid);
}